// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/browser/android/java/gin_java_bound_object_delegate.h"

namespace content {

GinJavaBoundObjectDelegate::GinJavaBoundObjectDelegate(
    scoped_refptr<GinJavaBoundObject> object)
    : object_(object)
{
}

GinJavaBoundObjectDelegate::~GinJavaBoundObjectDelegate()
{
}

base::android::ScopedJavaLocalRef<jobject>
GinJavaBoundObjectDelegate::GetLocalRef(JNIEnv* env)
{
    return object_->GetLocalRef(env);
}

base::android::ScopedJavaLocalRef<jclass>
GinJavaBoundObjectDelegate::GetLocalClassRef(JNIEnv* env)
{
    return object_->GetLocalClassRef(env);
}

const JavaMethod* GinJavaBoundObjectDelegate::FindMethod(
    const std::string& method_name,
    size_t num_parameters)
{
    return object_->FindMethod(method_name, num_parameters);
}

bool GinJavaBoundObjectDelegate::IsObjectGetClassMethod(
    const JavaMethod* method)
{
    return object_->IsObjectGetClassMethod(method);
}

const base::android::JavaRef<jclass>&
GinJavaBoundObjectDelegate::GetSafeAnnotationClass()
{
    return object_->GetSafeAnnotationClass();
}

} // namespace content
